Skip to content

Port upstream OSS fixes#22

Draft
lostf1sh wants to merge 1 commit into
mainfrom
fish/port-og-oss-fixes
Draft

Port upstream OSS fixes#22
lostf1sh wants to merge 1 commit into
mainfrom
fish/port-og-oss-fixes

Conversation

@lostf1sh

Copy link
Copy Markdown
Collaborator

Summary

  • Port the OSS-safe upstream fixes from PixelPlayer after June 18: playlist edit serialization, conservative artist delimiters, album-artist persistence, lyrics glyph fallback, folder breadcrumb polish, and pause-on-volume-zero.
  • Keep NetEase, Telegram, AI, Cast/Wear, and other non-OSS upstream changes out of this PR.
  • Add focused regression coverage for artist delimiter migration/parsing, album display artist selection, and playlist concurrent removals.

Details

  • Serializes playlist read-modify-write edits with a coroutine mutex so quick concurrent removals do not lose updates or leave playlist counts stale.
  • Narrows default artist delimiters to ;, normalizes the old default delimiter set on read, and passes delimiter-aware artist parsing into album display artist selection.
  • Persists edited album artist values through the local Room metadata update path.
  • Adds a playback setting that pauses when system media volume reaches zero.
  • Uses platform font fallback for lyrics text so extended Latin glyphs render reliably.
  • Shows a home icon for the root folder breadcrumb state.

Validation

  • JAVA_HOME=/usr/lib/jvm/java-21-openjdk PATH=/usr/lib/jvm/java-21-openjdk/bin:$PATH ./gradlew :app:compileDebugKotlin
  • JAVA_HOME=/usr/lib/jvm/java-21-openjdk PATH=/usr/lib/jvm/java-21-openjdk/bin:$PATH ./gradlew :app:testDebugUnitTest --tests 'com.lostf1sh.pixelplayeross.data.worker.ArtistParsingUtilsTest' --tests 'com.lostf1sh.pixelplayeross.data.worker.AlbumGroupingUtilsTest' --tests 'com.lostf1sh.pixelplayeross.data.preferences.UserPreferencesRepositoryTest'
  • JAVA_HOME=/usr/lib/jvm/java-21-openjdk PATH=/usr/lib/jvm/java-21-openjdk/bin:$PATH ./gradlew :app:compileDebugAndroidTestKotlin
  • JAVA_HOME=/usr/lib/jvm/java-21-openjdk PATH=/usr/lib/jvm/java-21-openjdk/bin:$PATH ./gradlew :app:assembleRelease -Ppixelplayer.enableAbiSplits=false -Ppixelplayer.disableReleaseSigning=true

Notes

  • The new playlist instrumentation test was compiled, but not run on a device/emulator in this pass.

@lostf1sh lostf1sh changed the title [codex] Port upstream OSS fixes Port upstream OSS fixes Jun 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant